package com.ccom.api.vo;

import com.ccom.core.common.serializer.DateToStringSerializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * @author zjj
 * @date 2021/10/29 16:22
 * @description
 */
@Data
@ApiModel(value = "登录成功返回用户对象", description = "登录成功返回用户对象")
public class UserVo {
    private static final long serialVersionUID = 1L;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "用户名，登录账户")
    private String userName;

    @ApiModelProperty(value = "注册手机号")
    private String phone;

    @ApiModelProperty(value = "注册邮箱")
    private String email;

    @ApiModelProperty(value = "会员来源：1:PC，2：H5，3：Android，4：IOS")
    private String sourceType;

    @ApiModelProperty(value = "昵称")
    private String nickName;

    @ApiModelProperty(value = "真实姓名")
    private String name;

    @ApiModelProperty(value = "使用状态（1正常 0非正常）")
    private String status;

    @ApiModelProperty(value = "删除状态（0，正常，1已删除）")
    private Integer delFlag;

    @ApiModelProperty(value = "头像地址")
    private String headPic;

    @ApiModelProperty(value = "QQ号码")
    private String qq;

    @ApiModelProperty(value = "手机是否验证 （0否  1是）")
    private String isMobileCheck;

    @ApiModelProperty(value = "邮箱是否检测（0否  1是）")
    private String isEmailCheck;

    @ApiModelProperty(value = "性别，1男，0女")
    private String sex;

    @ApiModelProperty(value = "会员等级")
    private Integer userLevel;

    @ApiModelProperty(value = "积分")
    private Integer points;

    @ApiModelProperty(value = "经验值")
    private Integer experienceValue;

    @JsonSerialize(using = DateToStringSerializer.class)
    @ApiModelProperty(value = "出生年月日")
    private Date birthday;

    @JsonSerialize(using = DateToStringSerializer.class)
    @ApiModelProperty(value = "注册时间")
    private Date registeTime;

    @JsonSerialize(using = DateToStringSerializer.class)
    @ApiModelProperty(value = "最后登录时间")
    private Date lastLoginTime;
}
